<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        function fun() {
            // callee 使用 函数的 arguments访问， callee 表示当前函数的引用
            console.log(arguments.callee);

            // 它可以用于引用该函数的函数体内当前正在执行的函数
            // arguments.callee 里面装有 当前函数的 地址， 叫做引用，通过这个地址可以找到 当前函数
        }
        // arguments.callee 这个属性多用于 递归中
        fun();

        // .caller 可以判断 当前执行的函数 是在哪一个函数内部调用的

        function fun2() {
            console.log(fun2.caller);
        }

        function zxyi() {
            fun2();
        }

        zxyi();
        /*
        zxyi() {
            fun2();
        }

        表示 fun2 这个函数 是在 zxyi这个函数中调用的

        注意：
        非标准
        该特性是非标准的，请尽量不要在生产环境中使用它！
        */



    </script>
</body>

</html>